EN FR
EN FR


Section: Software

Finite fields

Participants : Pierrick Gaudry, Emmanuel Thomé [contact] .

mp 𝔽 q is (yet another) library for computing in finite fields. The purpose of mp 𝔽 q is not to provide a software layer for accessing finite fields determined at runtime within a computer algebra system like Magma, but rather to give a very efficient, optimized code for computing in finite fields precisely known at compile time. mp 𝔽 q is not restricted to a finite field in particular, and can adapt to finite fields of any characteristic and any extension degree. However, one of the targets being the use in cryptology, mp 𝔽 q somehow focuses on prime fields and on fields of characteristic two.

mp 𝔽 q 's ability to generate specialized code for desired finite fields differentiates this library from its competitors. The performance achieved is far superior. For example, mp 𝔽 q can be readily used to assess the throughput of an efficient software implementation of a given cryptosystem. Such an evaluation is the purpose of the “eBATS” benchmarking tool (http://www.ecrypt.eu.org/ebats/ ). mp 𝔽 q entered this trend in 2007, establishing reference marks for fast elliptic curve cryptography: the authors improved over the fastest examples of key-sharing software in genus 1 and 2, both over binary fields and prime fields. These timings are now comparison references for other implementations [18] .

The library's purpose being the generation of code rather than its execution, the working core of mp 𝔽 q consists of roughly 18,000 lines of Perl code, which generate most of the C code. mp 𝔽 q is distributed at http://mpfq.gforge.inria.fr/ .

In 2012, mp 𝔽 q evolved somewhat, in order to do the required code generation needed for evolutions of Cado-nfs , notably in relation with linear algebra over prime fields. A new release is planned soon, once hindrances related to the license of some code fragments are dealt with.